diff --git a/system/language/english/form_validation_lang.php b/system/language/english/form_validation_lang.php
index 8788f5d..47c6bbd 100644
--- a/system/language/english/form_validation_lang.php
+++ b/system/language/english/form_validation_lang.php
@@ -26,32 +26,32 @@
  */
 defined('BASEPATH') OR exit('No direct script access allowed');
 
-$lang['required']				= 'The %s field is required.';
-$lang['isset']					= 'The %s field must have a value.';
-$lang['valid_email']			= 'The %s field must contain a valid email address.';
-$lang['valid_emails']			= 'The %s field must contain all valid email addresses.';
-$lang['valid_url']				= 'The %s field must contain a valid URL.';
-$lang['valid_ip']				= 'The %s field must contain a valid IP.';
-$lang['min_length']				= 'The %s field must be at least %s characters in length.';
-$lang['max_length']				= 'The %s field cannot exceed %s characters in length.';
-$lang['exact_length']			= 'The %s field must be exactly %s characters in length.';
-$lang['alpha']					= 'The %s field may only contain alphabetical characters.';
-$lang['alpha_numeric']			= 'The %s field may only contain alpha-numeric characters.';
-$lang['alpha_dash']				= 'The %s field may only contain alpha-numeric characters, underscores, and dashes.';
-$lang['numeric']				= 'The %s field must contain only numbers.';
-$lang['is_numeric']				= 'The %s field must contain only numeric characters.';
-$lang['integer']				= 'The %s field must contain an integer.';
-$lang['regex_match']			= 'The %s field is not in the correct format.';
-$lang['matches']				= 'The %s field does not match the %s field.';
-$lang['differs']				= 'The %s field must differ from the %s field.';
-$lang['is_unique'] 				= 'The %s field must contain a unique value.';
-$lang['is_natural']				= 'The %s field must only contain digits.';
-$lang['is_natural_no_zero']		= 'The %s field must only contain digits and must be greater than zero.';
-$lang['decimal']				= 'The %s field must contain a decimal number.';
-$lang['less_than']				= 'The %s field must contain a number less than %s.';
-$lang['less_than_equal_to']		= 'The %s field must contain a number less than or equal to %s.';
-$lang['greater_than']			= 'The %s field must contain a number greater than %s.';
-$lang['greater_than_equal_to']	= 'The %s field must contain a number greater than or equal to %s.';
+$lang['required']				= 'The {field} field is required.';
+$lang['isset']					= 'The {field} field must have a value.';
+$lang['valid_email']			= 'The {field} field must contain a valid email address.';
+$lang['valid_emails']			= 'The {field} field must contain all valid email addresses.';
+$lang['valid_url']				= 'The {field} field must contain a valid URL.';
+$lang['valid_ip']				= 'The {field} field must contain a valid IP.';
+$lang['min_length']				= 'The {field} field must be at least {param} characters in length.';
+$lang['max_length']				= 'The {field} field cannot exceed {param} characters in length.';
+$lang['exact_length']			= 'The {field} field must be exactly {param} characters in length.';
+$lang['alpha']					= 'The {field} field may only contain alphabetical characters.';
+$lang['alpha_numeric']			= 'The {field} field may only contain alpha-numeric characters.';
+$lang['alpha_dash']				= 'The {field} field may only contain alpha-numeric characters, underscores, and dashes.';
+$lang['numeric']				= 'The {field} field must contain only numbers.';
+$lang['is_numeric']				= 'The {field} field must contain only numeric characters.';
+$lang['integer']				= 'The {field} field must contain an integer.';
+$lang['regex_match']			= 'The {field} field is not in the correct format.';
+$lang['matches']				= 'The {field} field does not match The {field} field.';
+$lang['differs']				= 'The {field} field must differ from The {field} field.';
+$lang['is_unique'] 				= 'The {field} field must contain a unique value.';
+$lang['is_natural']				= 'The {field} field must only contain digits.';
+$lang['is_natural_no_zero']		= 'The {field} field must only contain digits and must be greater than zero.';
+$lang['decimal']				= 'The {field} field must contain a decimal number.';
+$lang['less_than']				= 'The {field} field must contain a number less than {param}.';
+$lang['less_than_equal_to']		= 'The {field} field must contain a number less than or equal to {param}.';
+$lang['greater_than']			= 'The {field} field must contain a number greater than {param}.';
+$lang['greater_than_equal_to']	= 'The {field} field must contain a number greater than or equal to {param}.';
 
 /* End of file form_validation_lang.php */
 /* Location: ./system/language/english/form_validation_lang.php */
\ No newline at end of file
diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php
index e4eac04..19041bd 100644
--- a/system/libraries/Form_validation.php
+++ b/system/libraries/Form_validation.php
@@ -615,7 +615,7 @@
 				}
 
 				// Build the error message
-				$message = sprintf($line, $this->_translate_fieldname($row['label']));
+				$message = $this->_build_error_msg($line, $this->_translate_fieldname($row['label']));
 
 				// Save the error message
 				$this->_field_data[$row['field']]['error'] = $message;
@@ -767,7 +767,7 @@
 				}
 
 				// Build the error message
-				$message = sprintf($line, $this->_translate_fieldname($row['label']), $param);
+				$message = $this->_build_error_msg($line, $this->_translate_fieldname($row['label']), $param);
 
 				// Save the error message
 				$this->_field_data[$row['field']]['error'] = $message;
@@ -807,6 +807,27 @@
 	}
 
 	// --------------------------------------------------------------------
+	
+	/**
+	 * Build an error message using the field and param.
+	 *
+	 * @param	string	The error message line
+	 * @param	string	A field's human name
+	 * @param	mixed	A rule's optional parameter
+	 * @return	string
+	 */
+	protected function _build_error_msg($line, $field = '', $param = '')
+	{
+		// Check for %s in the string for legacy support.
+		if (strpos($line, '%s') !== false)
+		{
+			return sprintf($line, $field, $param);
+		}
+		
+		return str_replace(array('{field}', '{param}'), array($field, $param), $line);
+	}
+
+	// --------------------------------------------------------------------
 
 	/**
 	 * Get the value from a form
@@ -1468,4 +1489,4 @@
 }
 
 /* End of file Form_validation.php */
-/* Location: ./system/libraries/Form_validation.php */
\ No newline at end of file
+/* Location: ./system/libraries/Form_validation.php */
diff --git a/user_guide_src/source/libraries/form_validation.rst b/user_guide_src/source/libraries/form_validation.rst
index 7478ca0..acf1e56 100644
--- a/user_guide_src/source/libraries/form_validation.rst
+++ b/user_guide_src/source/libraries/form_validation.rst
@@ -139,7 +139,6 @@
 			}
 		}
 	}
-	?>
 
 Try it!
 =======
@@ -240,7 +239,6 @@
 			}
 		}
 	}
-	?>
 
 Now submit the form with the fields blank and you should see the error
 messages. If you submit the form with all the fields populated you'll
@@ -436,7 +434,7 @@
 		{
 			if ($str == 'test')
 			{
-				$this->form_validation->set_message('username_check', 'The %s field can not be the word "test"');
+				$this->form_validation->set_message('username_check', 'The {field} field can not be the word "test"');
 				return FALSE;
 			}
 			else
@@ -446,7 +444,6 @@
 		}
 
 	}
-	?>
 
 Reload your form and submit it with the word "test" as the username. You
 can see that the form field data was passed to your callback function
@@ -469,7 +466,7 @@
 ======================
 
 All of the native error messages are located in the following language
-file: language/english/form_validation_lang.php
+file: /system/language/english/form_validation_lang.php
 
 To set your own custom message you can either edit that file, or use the
 following function::
@@ -479,30 +476,24 @@
 Where rule corresponds to the name of a particular rule, and Error
 Message is the text you would like displayed.
 
-If you include %s in your error string, it will be replaced with the
-"human" name you used for your field when you set your rules.
+If you'd like to include a field's "human" name, or the optional 
+parameter some rules allow for (such as max_length), you can add the 
+**{field}** and **{param}** tags to your message, respectively.
 
-In the "callback" example above, the error message was set by passing
-the name of the function::
+	$this->form_validation->set_message('min_length', '{field} must have at least {param} characters.');
+
+On a field with the human name Username and a rule of min_length[5], an
+error would display: "Username must have at least 5 characters."
+
+.. note:: The old method of using **%s** in your error messages will
+still work, however it will override the tags above. You should use
+one or the other.
+
+In the callback rule example above, the error message was set by passing
+the name of the function (without the "callback_" prefix)::
 
 	$this->form_validation->set_message('username_check')
 
-If you are using an error message that can accept two $s in your error string,
-such as:
-::
-
-	$this->form_validation->set_message('min_length', 'The $s field must contain at least $s characters.');
-
-Then you can also use %1$s and %2$s:
-::
-
-	$this->form_validation->set_message('min_length', 'This field must contain at least %2$s characters.');
-
-You can also override any error message found in the language file. For
-example, to change the message for the "required" rule you will do this::
-
-	$this->form_validation->set_message('required', 'Your custom message here');
-
 .. _translating-field-names:
 
 Translating Field Names
@@ -613,7 +604,7 @@
 
 	$this->form_validation->set_data($data);
 
-Creating validation rules, running the validation and retrieving error messages works the
+Creating validation rules, running the validation, and retrieving error messages works the
 same whether you are validating ``$_POST`` data or an array.
 
 **Important Note:** If you want to validate more than one array during a single execution, then you should	
@@ -678,56 +669,56 @@
 You can name your rules anything you want::
 
 	$config = array(
-	                 'signup' => array(
-	                                    array(
-	                                            'field' => 'username',
-	                                            'label' => 'Username',
-	                                            'rules' => 'required'
-	                                         ),
-	                                    array(
-	                                            'field' => 'password',
-	                                            'label' => 'Password',
-	                                            'rules' => 'required'
-	                                         ),
-	                                    array(
-	                                            'field' => 'passconf',
-	                                            'label' => 'PasswordConfirmation',
-	                                            'rules' => 'required'
-	                                         ),
-	                                    array(
-	                                            'field' => 'email',
-	                                            'label' => 'Email',
-	                                            'rules' => 'required'
-	                                         )
-	                                    ),
-	                 'email' => array(
-	                                    array(
-	                                            'field' => 'emailaddress',
-	                                            'label' => 'EmailAddress',
-	                                            'rules' => 'required|valid_email'
-	                                         ),
-	                                    array(
-	                                            'field' => 'name',
-	                                            'label' => 'Name',
-	                                            'rules' => 'required|alpha'
-	                                         ),
-	                                    array(
-	                                            'field' => 'title',
-	                                            'label' => 'Title',
-	                                            'rules' => 'required'
-	                                         ),
-	                                    array(
-	                                            'field' => 'message',
-	                                            'label' => 'MessageBody',
-	                                            'rules' => 'required'
-	                                         )
-	                                    )                          
-	               );
+		'signup' => array(
+			array(
+				'field' => 'username',
+				'label' => 'Username',
+				'rules' => 'required'
+			),
+			array(
+				'field' => 'password',
+				'label' => 'Password',
+				'rules' => 'required'
+			),
+			array(
+				'field' => 'passconf',
+				'label' => 'Password Confirmation',
+				'rules' => 'required'
+			),
+			array(
+				'field' => 'email',
+				'label' => 'Email',
+				'rules' => 'required'
+			)
+		),
+		'email' => array(
+			array(
+				'field' => 'emailaddress',
+				'label' => 'EmailAddress',
+				'rules' => 'required|valid_email'
+			),
+			array(
+				'field' => 'name',
+				'label' => 'Name',
+				'rules' => 'required|alpha'
+			),
+			array(
+				'field' => 'title',
+				'label' => 'Title',
+				'rules' => 'required'
+			),
+			array(
+				'field' => 'message',
+				'label' => 'MessageBody',
+				'rules' => 'required'
+			)
+		)
+	);
 
 Calling a Specific Rule Group
 =============================
 
-In order to call a specific group you will pass its name to the ``run()``
+In order to call a specific group, you will pass its name to the ``run()``
 method. For example, to call the signup rule you will do this::
 
 	if ($this->form_validation->run('signup') == FALSE)
@@ -770,29 +761,29 @@
 member/signup::
 
 	$config = array(
-	           'member/signup' => array(
-	                                    array(
-	                                            'field' => 'username',
-	                                            'label' => 'Username',
-	                                            'rules' => 'required'
-	                                         ),
-	                                    array(
-	                                            'field' => 'password',
-	                                            'label' => 'Password',
-	                                            'rules' => 'required'
-	                                         ),
-	                                    array(
-	                                            'field' => 'passconf',
-	                                            'label' => 'PasswordConfirmation',
-	                                            'rules' => 'required'
-	                                         ),
-	                                    array(
-	                                            'field' => 'email',
-	                                            'label' => 'Email',
-	                                            'rules' => 'required'
-	                                         )
-	                                    )
-	               );
+		'member/signup' => array(
+			array(
+				'field' => 'username',
+				'label' => 'Username',
+				'rules' => 'required'
+			),
+			array(
+				'field' => 'password',
+				'label' => 'Password',
+				'rules' => 'required'
+			),
+			array(
+				'field' => 'passconf',
+				'label' => 'PasswordConfirmation',
+				'rules' => 'required'
+			),
+			array(
+				'field' => 'email',
+				'label' => 'Email',
+				'rules' => 'required'
+			)
+		)
+	);
 
 When a rule group is named identically to a controller class/function it
 will be used automatically when the run() function is invoked from that
@@ -928,8 +919,8 @@
 **encode_php_tags**  No        Converts PHP tags to entities.
 ==================== ========= ===================================================================================================
 
-.. note:: You can also use any native PHP functions that permit one
-	parameter, like trim, htmlspecialchars, urldecode, etc.
+.. note:: You can also use any native PHP functions that permits one
+	parameter, like ``trim()``, ``htmlspecialchars()``, ``urldecode()``, etc.
 
 .. _function-reference:
 
@@ -1088,4 +1079,4 @@
 ::
 
 	<input type="radio" name="myradio" value="1" <?php echo  set_radio('myradio', '1', TRUE); ?> />
-	<input type="radio" name="myradio" value="2" <?php echo  set_radio('myradio', '2'); ?> />
\ No newline at end of file
+	<input type="radio" name="myradio" value="2" <?php echo  set_radio('myradio', '2'); ?> />
